package com.yueqian.epidemic.controller;

import com.yueqian.epidemic.beans.UserInfo;
import com.yueqian.epidemic.service.UserService;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpSession;

// 添加了@Controller注解，该类就可以处理客户端发送的请求
@Controller
@RequestMapping("/user")
public class UserController {
    /** 打印日志 */
    private static Logger logger = Logger.getLogger(UserController.class);

    /** 自动装配业务逻辑层 */
    @Autowired
    private UserService userService;

    /** 业务逻辑层处理 */
    @RequestMapping("/login")
    public String login(UserInfo userInfo, Model model, HttpSession session) {
        logger.debug("login()方法被执行了,userAccount:" + userInfo.getUserAccount() + ",userPassword:" + userInfo.getUserPassword());
        // 根据客户端提交过来的账号信息得到用户信息对象
        UserInfo user = userService.loginByAccount(userInfo.getUserAccount());
        logger.debug("user:" + user);
        // 如果数据库没有该用户 说明此账号是不正确
        // 判断账号是否正确，如果不正确就应该跳转到登录页面，并且显示出错误提示信息，账号不正确
        if (user == null) {
            model.addAttribute("msg", "账号不正确!");
            // 如果账号不正确就返回 login.jsp页面
            return "login";
        }
        if (user.getUserPassword().equals(userInfo.getUserPassword())) {
            // 说明账号和密码都是正确的，登录成功！
            // 如果账号和密码都正确了，就跳转到main.jsp页面
            // return "main";
            // 把用户信息存储在session会话当中
            session.setAttribute("loginedUser", user);
            return "redirect:/main.jsp";
        }

        // 判断密码是否正确，如果不正确就应该跳转到登录页面，并且显示出错误提示信息，密码不正确
        model.addAttribute("msg", "密码不正确!");
        return "login";
    }


}









/*
package com.yueqian.epidemic.controller;

import com.yueqian.epidemic.beans.UserInfo;
import com.yueqian.epidemic.service.UserService;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import javax.servlet.http.HttpSession;


// 添加了@Controller注解，该类就可以处理客户端发送的请求
@Controller
@RequestMapping("/user")
public class UserController {
    */
/**
 * 打印日志
 * <p>
 * 自动装配业务逻辑层
 * <p>
 * 业务逻辑层处理
 *//*

    private static Logger logger = Logger.getLogger(UserController.class);

    */
/**
 * 自动装配业务逻辑层
 *//*

    @Autowired
    private UserService userService;

    */
/**
 * 业务逻辑层处理
 *//*

    @RequestMapping("/login")
    public String login(UserInfo userInfo, Model model, HttpSession session) {
        // 使用打印日志
        logger.debug("login()方法被执行了......" +
                "userAccount:" + userInfo.getUserAccount() +
                ",userPassword:" + userInfo.getUserPassword());
        // 根据客户端提交过来的账号信息得到用户信息对象
        UserInfo user = userService.loginByAccount(userInfo.getUserAccount());
        // 通过日志打印是否为空
        logger.debug("user:" + user);
        // 如果数据库没有该用户 说明此账号是不正确
        // 判断账号是否正确，如果不正确就应该跳转到登录页面，并且显示出错误提示信息，账号不正确
        if (user == null) {
            // 提示信息: 账号不存在
            model.addAttribute("msg", "账号不存在!");
            // 如果账号不正确就返回 login.jsp页面
            return "login";
        }
        // 判断密码是否正确
        if (user.getUserPassword().equals(userInfo.getUserPassword())) {
            // 说明账号和密码都是正确的，登录成功！
            //return "main";
            //把用户信息存储在session会话当中
            session.setAttribute("loginedUser", user);
            // 如果账号和密码都正确了，就跳转到main.jsp页面
            return "redirect:/main.jsp";
        }
        // 判断密码是否正确，如果不正确就应该跳转到登录页面，并且显示出错误提示信息，密码不正确
        // 提示信息: 密码不正确
        model.addAttribute("msg", "密码不正确!");
        return "main";
    }
}
*/
